package com.app.service.user;

import com.app.domain.po.user.UserPo;
import com.baomidou.mybatisplus.extension.service.IService;
import jakarta.servlet.http.HttpServletResponse;
import me.zhyd.oauth.model.AuthCallback;

import java.io.IOException;

/**
 * 登录方法
 */
public interface LoginService extends IService<UserPo> {

    /**
     * 第三方登录(获取跳转路径)
     */
    String qq(HttpServletResponse response);

    /**
     * 第三方授权
     *
     * @param callback 第三方请求携带的参数
     * @param response 后端httpServlet响应
     */
    void callback(AuthCallback callback, HttpServletResponse response) throws IOException;

    /**
     * 退出登录
     */
    void out();

    /**
     * 用于本地测试
     *
     * @param userId 用户ID
     */
    String localhost(Long userId);

}